﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using Lib_general;

namespace HAM
{
    public partial class frmDmChucvu : Lib_frmParent.frmDanhmuc
    {
        private DmChucvu chucvu = new DmChucvu();
        private DataSet dscv = null;
        private int status = 0;

        public frmDmChucvu()
        {
            InitializeComponent();
            this.dvgDanhmuc.CurrentCellChanged += new EventHandler(dvgDanhmuc_CurrentCellChanged);
        }

        private void frmDmChucvu_Load(object sender, EventArgs e)
        {
            Load_data();
            ena_grodocument(true);
        }
        private void Load_data()
        {
            try
            {
                dvgDanhmuc.AutoGenerateColumns = false;
                dscv = chucvu.Load_form();
                dvgDanhmuc.DataSource = dscv.Tables[0];
                dvgDanhmuc.Columns[0].Name = "macv";
                dvgDanhmuc.Columns[0].DataPropertyName = "macv";
                dvgDanhmuc.Columns[0].HeaderText = "Mã chức vụ";
                dvgDanhmuc.Columns[1].Name = "ten";
                dvgDanhmuc.Columns[1].DataPropertyName = "ten";
                dvgDanhmuc.Columns[1].HeaderText = "Tên chức vụ";
            }
            catch { }
        }

        private void ena_grodocument(bool value)
        {
            txtmacv.Enabled = txttencv.Enabled = !value;
        }

        private void clear_text()
        {
            txtmacv.Text = txttencv.Text = "";
            txtmacv.Focus();
        }

        private void butmoi_Click(object sender, EventArgs e)
        {
            ena_grodocument(false);
            clear_text();
            status = 0;
        }

        private bool Kiemtra()
        {
            if (txtmacv.Text == "")
            {
                MessageBox.Show("Đề nghị nhập mã chức vụ!");
                txtmacv.Focus();
                return false;
            }
            if (txttencv.Text == "")
            {
                MessageBox.Show("Đề nghị nhập tên chức vụ!");
                txttencv.Focus();
                return false;
            }
            return true;
        }

        private void butluu_Click(object sender, EventArgs e)
        {
            if (!Kiemtra())
            {
                base.ena_object(true);
                return;
            }
            if (!chucvu.upd_dmchucvu(txtmacv.Text, txttencv.Text, status))
            {
                MessageBox.Show("Không cập nhật được thông tin hoặc mã chức vụ đã tồn tại!");
                txtmacv.Focus();
                base.ena_object(true);
                return;
            }
            Load_data();
            ena_grodocument(true);
        }

        private void butsua_Click(object sender, EventArgs e)
        {
            ena_grodocument(false); txtmacv.Enabled = false; txttencv.Focus();
            status = 1;
        }

        private void butxoa_Click(object sender, EventArgs e)
        {
            if (MessageBox.Show("Bạn có muốn xóa dữ liệu này không?", "SYSTEM", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
            {
                bool ok = chucvu.delete_dmchucvu(txtmacv.Text);
                if (!ok)
                    MessageBox.Show("Mã này đã phát sinh dữ liệu không thể xóa!");
            }
            Load_data();
        }

        private void butboqua_Click(object sender, EventArgs e)
        {
            ena_grodocument(true);
        }

        private void butketthuc_Click(object sender, EventArgs e)
        {

        }

        private void dvgDanhmuc_CurrentCellChanged(object sender, EventArgs e)
        {
            try
            {
                txtmacv.Text = dvgDanhmuc.CurrentRow.Cells[0].Value.ToString();
                txttencv.Text = dvgDanhmuc.CurrentRow.Cells[1].Value.ToString();
            }
            catch { }
        }

        private void txtmacv_KeyDown(object sender, KeyEventArgs e)
        {
            if (e.KeyCode == Keys.Enter) SendKeys.Send("{Tab}");
        }
    }
}
